digraph "Dominator tree for 'dp_calloc' function" {
	label="Dominator tree for 'dp_calloc' function";

	Node0x1488dc0 [shape=record,label="{%2:\l  %3 = alloca i64, align 8\l  %4 = alloca i64, align 8\l  %5 = alloca i8*, align 8\l  store i64 %0, i64* %3, align 8\l  store i64 %1, i64* %4, align 8\l  store i8* null, i8** %5, align 8\l  %6 = load i64, i64* %3, align 8\l  %7 = load i64, i64* %4, align 8\l  %8 = mul i64 %6, %7\l  %9 = icmp eq i64 %8, 0\l  br i1 %9, label %10, label %16\l}"];
	Node0x1488dc0 -> Node0x1488e00;
	Node0x1488dc0 -> Node0x1488960;
	Node0x1488e00 [shape=record,label="{%10:\l\l  %11 = load i64, i64* %3, align 8\l  %12 = trunc i64 %11 to i32\l  %13 = load i64, i64* %4, align 8\l  %14 = trunc i64 %13 to i32\l  %15 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([33 x i8], [33\l... x i8]* @.str.2, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x\l... i8]* @__func__.dp_calloc, i32 0, i32 0), i32 %12, i32 %14)\l  br label %16\l}"];
	Node0x1488960 [shape=record,label="{%16:\l\l  %17 = load i64, i64* %3, align 8\l  %18 = load i64, i64* %4, align 8\l  %19 = call noalias i8* @calloc(i64 %17, i64 %18) #5\l  store i8* %19, i8** %5, align 8\l  %20 = load i8*, i8** %5, align 8\l  %21 = icmp eq i8* %20, null\l  br i1 %21, label %22, label %24\l}"];
	Node0x1488960 -> Node0x1489470;
	Node0x1488960 -> Node0x1487c00;
	Node0x1489470 [shape=record,label="{%22:\l\l  %23 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([17 x i8], [17\l... x i8]* @.str.3, i32 0, i32 0), i8* getelementptr inbounds ([10 x i8], [10 x\l... i8]* @__func__.dp_calloc, i32 0, i32 0))\l  call void @exit(i32 1) #6\l  unreachable\l}"];
	Node0x1487c00 [shape=record,label="{%24:\l\l  %25 = load i8*, i8** %5, align 8\l  ret i8* %25\l}"];
}
